implement add, get and fetch