added some extra checks...i'm done lol