extracted some interfaces