added machine class