layout: add a base layout module.