protoype of puppeteering mode