redesign the kproto, more like anglurjs, but sample.