fix/refactoring