Smart machines