changed to form interface