required helpers