machine functionality