suboptimisations