continued simplification of the implementation