ahhh too much code! but dude its sweet.