Week 4

Adding Week 4 and applied some optimisations to Week 3