add exit, need implement