Much better API now.