From a class project in college this is based on the Allan Calhamer