moved from GPLv2 to GPLv3