both functions added