changed some new vildation to use assert_ref