better API.