Yes Indeed (did a google search). But, I would like to get some more inputs from monks too...
When you're looking for pointers on how to approach a problem domain, it's best to provide some background on what you've looked at already, why you feel that the material you've found so far isn't useful to you or doesn't answer some specific questions you have, what those specific questions are, and so on. Also, showing some sample code snippets or pseudo-code to illustrate your points and problems is usually better than no code at all.
The OP question is really too vague to get an effective answer.