I'm gonna refactor later. - eviltoast