merged some changes from the development branch.