add internal and interface unittest