optimising call counts stuff