adding the start of gzip and a bunch of todos