further cleaning and commenting