refactor first pass extend interface
add rjs subgenerator