not completely happy with this, but it'll give me something to think about and learn from, for next time!