Further optimising and UI work