Worked on this for a while, but still not sure about the results...