OK, Im not sure if every part of this works, Most of them do, If you find any problems tell me and ill edit and fix the problem, =)