working and fully tested implementation with readme example
minor fix to have tests pass with testling