moved to common protocol classes