moved menu related code into a sub-package for clarity