add update function, not fully, er functional, yet