added hidden vol support plus optimisations