remove dependency on Moo (close #6)