obsolete code deleted