done with 3.1, i have also made some minor changes