major changes

loads of stuff