switched to Moo for better flexibility