implement some of submit block