started writing recursive step