fix bug empty()