Author: Stony Brook Software.