Added new categories. Cleaned up some implementation.