add coverage
add underscore, convert appjs to coffee