first features of 2.4.0, but incomplete implementation and untested