add support for etags