[refactoring] constructor