theory of machines