almost there has a bug for remove