location struct should use signed chars