separated out the proceed logic
separated out proxy objects