Created an IO library to move all communication logic to