UPDATED: enhanced row validity check
ADDED: not null constraint
TODO: forbid adding if there is format error