use Moo(se) goodness