new helper functions