turned some very commonly used services into singletons to reduce the
memory footprint