beginning of phase implementations