shitty form implementation