commented things to refresh my memory on functionality