more
diff --git a/src/animation/blend_animation.cpp b/src/animation/blend_animation.cpp
index bca5529..fe46a0d 100644
--- a/src/animation/blend_animation.cpp
+++ b/src/animation/blend_animation.cpp
@@ -22,10 +22,10 @@
     }
 
     auto artboard = artboardImporter->artboard();
-    auto animationCount = artboard->animationCount();
-    if (animationId() >= 0 && animationId() < animationCount) {
+    size_t animationCount = artboard->animationCount();
+    if ((size_t)animationId() < animationCount) {
         m_Animation = artboardImporter->artboard()->animation(animationId());
     }
 
     return Super::import(importStack);
-}
\ No newline at end of file
+}
diff --git a/src/animation/state_machine_instance.cpp b/src/animation/state_machine_instance.cpp
index c285912..81323af 100644
--- a/src/animation/state_machine_instance.cpp
+++ b/src/animation/state_machine_instance.cpp
@@ -238,7 +238,7 @@
     m_Machine(machine) {
     m_InputCount = machine->inputCount();
     m_InputInstances = new SMIInput*[m_InputCount];
-    for (int i = 0; i < m_InputCount; i++) {
+    for (size_t i = 0; i < m_InputCount; i++) {
         auto input = machine->input(i);
         if (input == nullptr) {
             m_InputInstances[i] = nullptr;
@@ -266,7 +266,7 @@
 
     m_LayerCount = machine->layerCount();
     m_Layers = new StateMachineLayerInstance[m_LayerCount];
-    for (int i = 0; i < m_LayerCount; i++) {
+    for (size_t i = 0; i < m_LayerCount; i++) {
         m_Layers[i].init(machine->layer(i));
     }
 }
@@ -281,14 +281,14 @@
 
 bool StateMachineInstance::advance(Artboard* artboard, float seconds) {
     m_NeedsAdvance = false;
-    for (int i = 0; i < m_LayerCount; i++) {
+    for (size_t i = 0; i < m_LayerCount; i++) {
         if (m_Layers[i].advance(
                 artboard, seconds, m_InputInstances, m_InputCount)) {
             m_NeedsAdvance = true;
         }
     }
 
-    for (int i = 0; i < m_InputCount; i++) {
+    for (size_t i = 0; i < m_InputCount; i++) {
         m_InputInstances[i]->advanced();
     }
 
@@ -306,7 +306,7 @@
 }
 
 SMIBool* StateMachineInstance::getBool(std::string name) const {
-    for (int i = 0; i < m_InputCount; i++) {
+    for (size_t i = 0; i < m_InputCount; i++) {
         auto input = m_InputInstances[i]->input();
         if (input->is<StateMachineBool>() && input->name() == name) {
             return static_cast<SMIBool*>(m_InputInstances[i]);
@@ -316,7 +316,7 @@
 }
 
 SMINumber* StateMachineInstance::getNumber(std::string name) const {
-    for (int i = 0; i < m_InputCount; i++) {
+    for (size_t i = 0; i < m_InputCount; i++) {
         auto input = m_InputInstances[i]->input();
         if (input->is<StateMachineNumber>() && input->name() == name) {
             return static_cast<SMINumber*>(m_InputInstances[i]);
@@ -325,7 +325,7 @@
     return nullptr;
 }
 SMITrigger* StateMachineInstance::getTrigger(std::string name) const {
-    for (int i = 0; i < m_InputCount; i++) {
+    for (size_t i = 0; i < m_InputCount; i++) {
         auto input = m_InputInstances[i]->input();
         if (input->is<StateMachineTrigger>() && input->name() == name) {
             return static_cast<SMITrigger*>(m_InputInstances[i]);
@@ -336,7 +336,7 @@
 
 size_t StateMachineInstance::stateChangedCount() const {
     size_t count = 0;
-    for (int i = 0; i < m_LayerCount; i++) {
+    for (size_t i = 0; i < m_LayerCount; i++) {
         if (m_Layers[i].stateChangedOnAdvance()) {
             count++;
         }
@@ -347,7 +347,7 @@
 const LayerState*
 StateMachineInstance::stateChangedByIndex(size_t index) const {
     size_t count = 0;
-    for (int i = 0; i < m_LayerCount; i++) {
+    for (size_t i = 0; i < m_LayerCount; i++) {
         if (m_Layers[i].stateChangedOnAdvance()) {
             if (count == index) {
                 return m_Layers[i].currentState();
@@ -360,7 +360,7 @@
 
 const size_t StateMachineInstance::currentAnimationCount() const {
     size_t count = 0;
-    for (int i = 0; i < m_LayerCount; i++) {
+    for (size_t i = 0; i < m_LayerCount; i++) {
         if (m_Layers[i].currentAnimation() != nullptr) {
             count++;
         }
@@ -371,7 +371,7 @@
 const LinearAnimationInstance*
 StateMachineInstance::currentAnimationByIndex(size_t index) const {
     size_t count = 0;
-    for (int i = 0; i < m_LayerCount; i++) {
+    for (size_t i = 0; i < m_LayerCount; i++) {
         if (m_Layers[i].currentAnimation() != nullptr) {
             if (count == index) {
                 return m_Layers[i].currentAnimation();
@@ -380,4 +380,4 @@
         }
     }
     return nullptr;
-}
\ No newline at end of file
+}
diff --git a/src/animation/transition_condition.cpp b/src/animation/transition_condition.cpp
index e9d307b..a377b05 100644
--- a/src/animation/transition_condition.cpp
+++ b/src/animation/transition_condition.cpp
@@ -22,9 +22,7 @@
     }
 
     // Make sure the inputId doesn't overflow the input buffer.
-    if (inputId() < 0 ||
-        inputId() >= stateMachineImporter->stateMachine()->inputCount())
-    {
+    if ((size_t)inputId() >= stateMachineImporter->stateMachine()->inputCount()) {
         return StatusCode::InvalidObject;
     }
     if (!validateInputType(
@@ -40,4 +38,4 @@
     }
     transitionImporter->addCondition(this);
     return Super::import(importStack);
-}
\ No newline at end of file
+}
diff --git a/src/importers/layer_state_importer.cpp b/src/importers/layer_state_importer.cpp
index a1cc71d..0923800 100644
--- a/src/importers/layer_state_importer.cpp
+++ b/src/importers/layer_state_importer.cpp
@@ -30,12 +30,12 @@
             }
 
             auto blendStateTransition = transition->as<BlendStateTransition>();
-            auto exitId = blendStateTransition->exitBlendAnimationId();
-            if (exitId >= 0 && exitId < blendState->m_Animations.size()) {
+            size_t exitId = blendStateTransition->exitBlendAnimationId();
+            if (exitId < blendState->m_Animations.size()) {
                 blendStateTransition->m_ExitBlendAnimation =
                     blendState->m_Animations[exitId];
             }
         }
     }
     return StatusCode::Ok;
-}
\ No newline at end of file
+}
diff --git a/src/importers/state_machine_layer_importer.cpp b/src/importers/state_machine_layer_importer.cpp
index 9a7da10..65116f1 100644
--- a/src/importers/state_machine_layer_importer.cpp
+++ b/src/importers/state_machine_layer_importer.cpp
@@ -28,9 +28,8 @@
             }
         }
         for (auto transition : state->m_Transitions) {
-            if (transition->stateToId() < 0 ||
-                transition->stateToId() > m_Layer->m_States.size())
-            {
+            // TODO: do we mean >= ???
+            if ((size_t)transition->stateToId() > m_Layer->m_States.size()) {
                 return StatusCode::InvalidObject;
             }
             transition->m_StateTo = m_Layer->m_States[transition->stateToId()];
@@ -46,4 +45,4 @@
     // make use of the state but it won't do anything visually.
     addState(new LayerState());
     return true;
-}
\ No newline at end of file
+}
diff --git a/src/shapes/star.cpp b/src/shapes/star.cpp
index 52e4df7..18d4910 100644
--- a/src/shapes/star.cpp
+++ b/src/shapes/star.cpp
@@ -23,7 +23,7 @@
     auto angle = -M_PI / 2;
     auto inc = 2 * M_PI / length;
 
-    for (int i = 0; i < length; i += 2) {
+    for (std::size_t i = 0; i < length; i += 2) {
         {
             StraightVertex& vertex = m_PolygonVertices[i];
             vertex.x(ox + cos(angle) * halfWidth);
@@ -41,4 +41,4 @@
     }
 }
 
-void Star::update(ComponentDirt value) { Super::update(value); }
\ No newline at end of file
+void Star::update(ComponentDirt value) { Super::update(value); }