Fixing some todo's. Moved criteria queries to be specifications for easy reuse if we want to bridge them together and to move complex code out of service classes for easier readability. Can continue refactoring them later