Tools required & definitions