first now uses cached results

fixes #45