changed user to account object, finalized retrieve() method, etc