renaming expiry to ttl, and adding ttl arguments to upstream methods (I missed them in my first pass)