api refactoring and armor model test