aded function