update to use knockout