Here is a more up to date patch, it probably needs more testing