major refactor - init process changed