allow completely customized layout