rollback
merged stephen's updates with mine