Initial commit of changes, need to test this a little bit.