initial version
a better layour