Start of task 5 implementation