add json request and parse
rename some classes and add annotate