Refactored shared code
Added warm up cache