working on making it return None if you call it after eof