added form functionalities