new pattern, removed class system, updated main.js example