fix: is_sub