(Solved)Remote call pick up explanation

I solved it by changing the features code, as there is another default definition inside features.conf with **

any one can explain the remote call pick up clearly? I have read many articles and in fact have successfully implemented the simple remote call pick up.
But i am still a bit confused with callgroup= & pickupgroup=,
what does these two lines actually mean?
For example, if i have extensions 100-130, and extensions 140-150
if i want 140-145 can pickup 100-120
and 145-150 can pick up 121-130
How i can define this two parameters?

And if i include callgroup=1, & pickup group =1 in zapata.conf for FXO channel 2,
what does it mean?

Also as someone said there are actually two ways for pickup.
Direct Pickup and Group pickup.

Above methods belong to Group pickup am i right? and i must put pickupexten =>*8 in features.conf in order to achieve it,

how about direct pickup? as the one (**) from feature codes of FREEPBX seems can not be used, as there is always an error 484 when i try to dial **, how to implement this way?

thanks so much in advance