everything is implemented now except blob deletion