various phases are explained in README