Version3.0

version3.0 cooked enough to be merged