major refactoring of requirements/roster code