added client class, added guard