base interface added