public NMEASentence( String sentence ) throws Exception
	{
		rawSentence = sentence;
		identifier = sentence.substring( 1, 6 ).replaceAll( "-", "" );
		
		//remove identifier
		sentence = sentence.substring( 7, sentence.length() );

		//get checksum, remove from sentence
		if( sentence.charAt( sentence.length() - 3 ) == '*' )
		{
			checksum = sentence.substring( sentence.length() - 2, sentence.length() );
			sentence = sentence.substring( 0, sentence.length() - 3 );
			
			//make sure checksum is correct
			if( !checksum( rawSentence.substring( 1, rawSentence.length() - 3), checksum ) )
				throw new Exception( "The checksum provided does not match the checksum calculated." );

		}

		//split into words
		pieces = sentence.split( "," );
	}