Rough Autonomous Code

still needs to be edited quite a bit, but should be fairly close