updated to using knockout