some clean up
added smartParse