all plot functions now take an 'ax' argument