v2.0 with object passing done