moved framework related logic to a separate location, from where it can be easily moved to a separate lib