cache often-used functions