primary implementation (ready to bug report!)
primary version (ready for bug report!)