Refactor, add adapter
Merge branch 'feature/refactoring' into dev