Did alot of refactoring

Added new classes. Cleaned up some of the @Filter  in several classes.