Improve choose system function