refactoring about namespace
cleanup
add some comments
rename: proc -> out
remove redundant check
refactoring: remove putExtra()
class GodFather
let the caller take care of element's var