make assign a bit more efficient
central DDL