add version to remote list, and simplify a method