Initial KF Commit

server side mostly done, need to do client side