clean up. Still need to handle output so its nicer.