add quaternion shell class
add quaternion constructor