As discussed in #36 the current impl's set of parameters is overloaded and we should rewrite to pass all optional params in a hash.