Needs a clean up