just enough to translate coopyhx