implement CRuD (no update yet)