further changes and refinements