The reference given by Policywala is quite informative I think that would help.