I've made changes as per #3. Attached a patch