some refactoring of fworkflow, and add method to create workflow from single FW