Update ferret

ferret can update itself now. also added comments throughout the code.