Originally created by Bijia Chen. Includes some additions by Cameron Campbell.