add mpl::bool and fix layout