added a bunch of customer functionality