uses Moo instead of Any::Moose