use cached aValue and bValue