basic version of all 3 steps