narrowing the functions down