redoing from here