major refactor
using deck.js