* lots of changes(stable version)