todo update & small modifications