new internal representation