obsolete functions