 
 public struct RuleEqualsToRow<T: Equatable>: RuleType {
     
-    public init(msg: String = "Fields doenst match!", form: Form, tag: String){
+    public init(form: Form, tag: String, msg: String = "Fields doesn't match!"){
         self.validationError = ValidationError(msg: msg)
         self.form = form
         self.tag = tag
         self.row = nil;
     }
     
-    public init(msg: String = "Fields doenst match!", row: BaseRow?){
+    public init(row: RowOf<T>, msg: String = "Fields doesn't match!"){
         self.validationError = ValidationError(msg: msg)
         self.form = nil
         self.tag = nil

    public var validationError: ValidationError
    public var form: Form?
    public var tag: String?
    public var row: BaseRow?
    
    public func isValid(value: T?) -> ValidationError? {
        

            _row = form!.rowBy(tag: tag!);
        }
        
        if (_row?.value == value){
            return nil;
        }else{
            return validationError
