knockout impl