engineering complexities