first def and tests