added numpydoc and IO changes