                     }
 
                     synth.stop()
+                } else if (node.name?.containsString("topButton") != nil) {
+                    let spriteNode = node as! SKSpriteNode
+                    let changeColorAction = SKAction.colorizeWithColor(minimalPurple, colorBlendFactor: 1.0, duration: 0)
+
+                    spriteNode.runAction(changeColorAction) {
+                        spriteNode.color = self.minimalPurple
+                    }
                 }
             }
         }


                    let noteCode = getCurrentNoteCode()
                    synth.play(noteCode)
                }
            }
        }

    }

    func makeTopButton(buttonColor: SKColor, buttonSize: CGSize) {
        let anchorPoint = CGPoint(x: 0, y: 0)
        let position = CGPoint(x: x, y: HeightOfScreen - (WidthOfScreen/2))

        // ~~~~
        // color node
        let colorNode = SKSpriteNode(color: minimalPurple, size: buttonSize)
        colorNode.anchorPoint = anchorPoint
        // positions it with respect to top left

        colorNode.position = position
        x += WidthOfScreen / 3

        colorNode.name = "topButton"

        // ~~~~
        // image node
        var imageUrl = ""
        if x == WidthOfScreen / 3 {
            imageUrl = "flat"
        } else {
            imageUrl = "sharp"
        }

        let imageNode = SKSpriteNode(texture: SKTexture(imageNamed: imageUrl), size: buttonSize)
        imageNode.anchorPoint = anchorPoint
        imageNode.position = position

        self.addChild(colorNode)
        self.addChild(imageNode)
    }

}
