changes
working version need refactoring