Added promise cache and logger