cache some functions for faster access

we use these when doing heavily redundant operations, so make access path as short as possible