first version that satisfied all the requirements