changed api to use methods instead of hash access for input values

also now require the `betweens` option for branches.