added copyright and GNU GPL block