add useful custom functions