initialization phase