added menuing interface and fixed toggling issue.

Unfortunately, my code is crap, but I am not sufficiently motivate to clean
it up

Change-Id: I6817111dbf0c6f6f5e966a4a9d9144219951e764