comments
constructor implementation