overview 100% complete, added main to test