lots of changes. thought i should probably commit