finally ready for CRUD