first functions added