improve user action system