Finished project (more or less).