create util methods to get remote versions and resolve ranges; #4