Update; functions but still needs work