keep context and make form methods safe