Initial functionality after refactoring