added some comments and cross product