added basic structure for Button and some other minor changes