added earlier work