Far too many tweeks to list in one commit - sorry.