Changed to use !public rather than @public, because tagging @public in every commit isn't very polite. Sorry!