reorganized and added some steps