add useful function