User story 5 + tests implemented