still working on how the base category object should work