Initial setup - most from MSDN.