added create/update/destroy functionality