The ranged stuff can go in its own file, that was a good piece of separation I'd like to keep.