first valuable but terribly trashy commit

working proto, tons of stupid things =.=‘