Tidied it up and made it strict