refactor to proper Moose object