the topic was discussed in quite a detail here