implement the enum method