move blockexporter to its own file