added interface; fixed inconsistencies