Don't ignore frames argument in read() method
Change default value of start from None to 0
Change a RuntimeError to TypeError
Add blocks() method and function