fixed: responsibilities use cached values too