new API approach working for list, read, create