added checkboxes, button, textarea and refactored