reduce the number of operations