use qmatix cache to avoid nonnecessary calculation