Make workflow more generic