calling `engine` might fail?