see https://bitcointalk.org/index.php?topic=48170 and https://bitcointalk.org/index.php?topic=32818.0