updates. work in progress.