use knockout for data-bindings