get rid of empty()