program v2 in progress
Still not builds but almost finished.