changed every instance of overloading a binary with a function (is this bad practice? do I have to use an alias?)