added protocol dependency, added all attributes