update
not working, but much code
saving for Pearce