Big changes, not working right though.