This should be working

I think I got it working there may be a few bugs