subfunctions notes