updated get and set to use callback rather than a promise