This site is a shameless ripoff of a university assignment, but it looked pretty and it seemed a shame to waste it