precache added, TODO: add comment