This contains various and alternate solutions.