added custom form functions