re-implemented typesig like how pre/post task was implemented