work in progress
patents pending