implemented johns suggestions