delete redundant function