refactoring api
add "type" and "const" plugins