refactored initi