use Moo instead of Moose