added documentation, KVO, removed dependency on FLK