updated bulk.py with additional reader and writer