implementation of saveAsync