add some explanitory comments