form as a class