added interim functions