regular update -- re-organize code