add client compilation to generate public