This code is copied for the purposes of teaching myself and up here so i can switch between home and work. It's not my original code.