first revision by Nick