Class cat added, interface IKind added, code refactored