reduce the calls