implements storage client