optimalisation & cleanup