proper protocol use