Begun optimisation. More research needed