mehhh enough code i dont want to look at it agian