Version 2: final update!