implemented rm