semicolons are the worst, but javascript still sucks