dont use Impl classes