refactored initialize argument