took out all but form function