Have a browse through this excellent site. Chances are, your question has been asked before (most of mine have been ) Maybe not exactly what you're looking for, but here's what i dug up:

Link
Link
Link