refactor to allow for other problem categories