ui & sync