fixed up some edge cases
implemented the spec
added travis-ci
updated dependency lock