public void drawHead(Graphics graphics, Point position, Point size) {
        int startAngle = 30;

        if (getDirection() == Direction.RIGHT) {
            startAngle = 30;
        } else if (getDirection() == Direction.LEFT) {
            startAngle = 210;
        } else if (getDirection() == Direction.UP) {
            startAngle = 120;
        } else if (getDirection() == Direction.DOWN) {
            startAngle = 300;
        }

        graphics.setColor(getHeadColor());
        graphics.fillArc(position.x, position.y, size.x, size.y, startAngle, 300);

        //draw eye
        graphics.setColor(Color.RED);
        if ((direction == Direction.LEFT) || (direction == Direction.RIGHT)) {
            graphics.fillOval(position.x + (size.x / 2), position.y + (size.y / 4), size.x / 6, size.y / 6);
        } else if (direction == Direction.UP) {
            graphics.fillOval(position.x + (size.x / 4), position.y + (size.y / 2), size.x / 6, size.y / 6);
        } else if (direction == Direction.DOWN) {
            graphics.fillOval(position.x + (size.x * 2 / 3), position.y + (size.y / 2), size.x / 6, size.y / 6);
        }
    }