[Updated] User finish implementation