clean up and fixed