started refactoring submit interface