adding some comments and tests