some changes interface