modified and fixed somethings