initial base code
initial solution
not yet completed, but moving on to another project for now