further improvements to the general structure