This code is released under the GNU GPL v3