added more categories and tests. Need to find a way to refactor for loops