removed typedef Task because it turned out impractical