added features and fixed bugs. See CHANGELOG