splitting stuff up into templates, things are getting a bit too messy