print profiling information
added .prof files
improved tests
minor fixes plus performance improvement
added internal caching
added profiling and cache mock