add layouts and containers

No need to merge it now, i will add more work soon.

Just pushed for review.