complete init