restructured slightly