a twitter api wrapper with caching