remove auto usage to maintain non-c++11 compile without warnings