refactored to use separate model for submission