Refactoring - step 1
Refactoring - step 2
Code backup
Integration tests + fixes for found bugs
Fix
Refactoring - step 3