#50 Category implementation. Will need to be test (uncomment tests)