Comments added regarding alternative solutions.