solutions... not the first version, original attempts in the Lab file