helper functions for protocols added