Added all necessary definitions and analogies