refactored partial form