ensure proper protocol