crud interface