I didnt' write this code, see above, i'm typing it out to understand it and syncing so i can transfer between work and home