move all menu creation and behavio to its own object