uniqueness constraint is not correct scoping on hidden is not fully correct
simpler just to handle it in the DB