requires Moose
add reftype check