function create, delete, list, read