finished version of empty