add some common func