functioning crud for all models