improved init process