selsub and seladd now work with complex and smoke uses selsub