Just starting to take javascript seriously. What is wrong with my code below?

```
var Person = (function(name,age){
   var name = name, age = age;
   var print = function(){
      console.log('I"m '+name+', and I"m '+age+' year old');
   }

   return {print:print}
})();

Person.print("James",19);

```

I got name and age undefined. I problem i found also with this pattern, if u have many method then in the end your return will be 

`return {methodA:methodA, methodB:methodB, methodC:methodC}` this is so ugly for me. Should I just wrap my method within the return like

```
return{ 
  methodA: function(){

  } 
};

```