some cleanup
some unfiginshed work