added adaptive sub module