restructured to hopefully comply better with the instructions