added some interface classes