separate class for static, dynamic, kinematic