some renaming and moving
updated domain to reflect the addition of the opponent method