do not overwrite any function if it's already defined