add cache burst support, update readme
use Promise-based implementation
fix tests