first version with submenu. (not that good)