separate interface classes