Luke-Jr - 2013-12-24

Here's an initial draft. I tried to make it API-compatible. Let me know what you think.