initial commit; updating IO, using exceptions instead of returning null
updating readme