further design optimisation