first try, should all be working. just need to populate the arrays and
run tests.