Refactored to separate create/update/delete and fetch resources