added normal vector