use __method instead of method to avoid potential conflicts