adding all recent changes.