better definitions
more info