cleaned code now has comments