somewhat working
Working proto