changed prototype structure