updated work in progress