Working on 3.0

It's not completed yet but updated some code.