Lots of definitions