Credit where credit is due
Require documentation
Don't fail on eof, but don't return anything useful either
Implement eof