updates. need rework