refactor and change design of controls