better API explanation