Yagit

Description
Yagit is a region based logic puzzle where the grid is divided up into smaller regions.

Rules
The objective is to divide the whole grid into smaller regions, subject to the following rules:
 * 1) Each region must contain either squares or circles, but not both and must not be empty.
 * 2) Lines run along the grid-lines and can only turn at black dots. Lines can cross each other except at black dots.
 * 3) Lines must start and finish at the edge of the grid.
 * 4) It is not necessary to use all (or any) black dots.

Example
A standard 10x10 yagit and its solution.