Finished the first revision - to be tested