First 'working' version\! Lots more changes needed before it's truly functional but we're getting there