add interface and enum
remove App.java