add class comment and license here