add some sync func