refactoring and functional menu
Merge branch 'menu'
Merge branch 'master' into gh-pages