Updated with some comments