shift around and add some code