Major changes

major changes +fixes