separaed core client from metatable-happy wrapper