Final version, once again.