Rudimentary working multimenu support
Give submenuitems the correct name
Basic code cleanup, docs and functions