* added changes to comply with GNU licensing