Optimisation needed for last 2 options!