changed some formatting, reverted from broken code, still need to look at that and figure out what is going on