made a lot of changes to the category system