new menu engine and cleaning code
now menu can have icon