example prototype structure