refactoring and back to working version