eliminate indirect calling