single machine implementation