merging contrubutions made by Kimonp