imrpvoed some things.

need to fix it up still