Q5 100% done. Only needs a minor refactoring