close #16 add machine CRUD