Tidied code up so hard!