some structural changes - optimisation section