Copyright (C) 2013-2014 SSPARK.