starting pure functions