little modifications and updated