change workflow and add some requirements