clarify `accept` function