Whitespacing here is weird, my OCD is missing spaces after semicolon.