Finally, a version that works