allow the assignment-client to specify the type of assignment it desires