possible layout for io