using a default method implementation