functionality seems to be in place now. Need to make it prettier