cleanup and reorginaztion
merge