added shaky-line nodejs version and did a lot of refactoring
refactored shaky.js