Done all function and UI