1. start to support 3d data; 2. include underscore.js; 3. code refactor