Updated to add multimethods