document function module