reason method