some clean up / sorting still need to do a lot more