renamed io.py to logger.py to avoid conflict with builtin io module