add extra function