add useful functions