empty is now as static member of State