some progress, but need to do key update next