solution for challenges 4 and 5