Theory of Machine and Machine Elements Design