implementing 'form-based-workflow' feature