last check in before I optimise the code runtime