Made some more improvements still needs a lot more work