how it works proto