Menu becomes a separate class now, and some other features added