added changelog; refactoring