c9 implementation