updated some interfaces and classes.