almost done the answers need to improve