split off from kmp w/semantic-thing focus