Feature/refactoring updates