First full functional version.
To fix: layout when horizontal