almost done. need to update ui