finished the first completely non-tested version