cache result better, not required to get from apc every time