useful functions that are supposed to be default