Lots of changes, still not working 100%