functions added