// mouse event handler
        private void imagePanel_MouseDown(object sender, MouseEventArgs e)
        {
            // if not on image panel do nothing
            if (!imagePanel.ClientRectangle.Contains(e.Location))
            {
                return;
            }

            if (e.Button == MouseButtons.Left)
            {
                // set rect in focus
                currentlyInFocus = rectangles.contains(e.Location);
                if (currentlyInFocus.Item1)
                {
                    rectangles.resetFocusList();
                    someoneIsInFocus = true;
                    if (someoneIsInFocus)
                    {
                        rectangles.setFocus(currentlyInFocus.Item2);
                    }
                    imagePanel.Refresh();
                }
                else
                {
                    int       inFocus     = rectangles.inFocusIndex();
                    Rectangle rectInFocus = rectangles.findInFocus();

                    // set rectangle center coordinates to mouse coordinates
                    if (inFocus != -1)
                    {
                        rectangles.setRectCoordinates(inFocus, e.X - rectInFocus.Width / 2, e.Y - rectInFocus.Height / 2);
                    }

                    imagePanel.Refresh();
                }
            }
        }