Update code, not finished