TESTED AND WORKING AND COMMENTS AND STUFF :)