this might just work... still need to merge and other things, but looking better.