Minor refactor and integrate authorize.net