Lazy initialization, code refactoring