Optimizations needed
http://forum.dlang.org/thread/qmpeknbowtjblkcjlbty@forum.dlang.org