Added layout support and optional engine instances instead of options