added toJSON
renamed In and Out
describe Methods
better test coverage