worked on form functionalities