I've updated this; thoughts on my changed approach?