Added GPLv3
implemented gps()