first stab at better paddle movement, plus a little refactoring for fun