remove previous implementation