delete unnecessary function