finished basic form implementation