v0 interface
start JS bits
terrible v0