Overhauled to meet latest coding standards changes.