Note about performance.
Better interface (still wrong).
Missing header.