implemented buttons and text field