new record now returns a reference to created record. some changes due to the movement of the columndefintions to a seperate class