removed the binary part of the namespaces since it's not a binary implementation
refactored encode to be more functional swapping out loop/recur and introducing thrush combinators