setRemote is now template method