refactor assignment template