An encoder comprising: a processor (1105, 1205); a first buffer; a second buffer; and a memory (1110, 1210), the memory including code as instructions that cause the processor (1105, 1205) to: quantize geometric data associated with a geometric construct, partition the quantized geometric construct, determine the number of points in a partition, generate a deviation value based on the number of points in the partition by calculating a difference of the number of points in the partition and a reference value determined based on the number of points in the parent partition of said partition of the quantized geometric construct store the deviation value in the first buffer, and entropy encode the deviation value, wherein the partitioning of the geometric construct includes partitioning the geometric construct using a k-D tree, determining whether the partition includes more than a threshold number of points, upon determining the partition includes more than the threshold number of points: store the number of points in the first buffer, and further partition the partition including more than the threshold number of points, and upon determining the partition includes less than the threshold number of points: determine whether the partition includes at least one point, upon determining the partition includes at least one point: store a value representing a position of a point in the second buffer. a processor (1105, 1205); a first buffer; a second buffer; and a memory (1110, 1210), the memory including code as instructions that cause the processor (1105, 1205) to: quantize geometric data associated with a geometric construct, partition the quantized geometric construct, determine the number of points in a partition, generate a deviation value based on the number of points in the partition by calculating a difference of the number of points in the partition quantize geometric data associated with a geometric construct, partition the quantized geometric construct, determine the number of points in a partition, generate a deviation value based on the number of points in the partition by calculating a difference of the number of points in the partition and a reference value determined based on the number of points in the parent partition of said partition of the quantized geometric construct store the deviation value in the first buffer, and entropy encode the deviation value, store the deviation value in the first buffer, and entropy encode the deviation value, wherein the partitioning of the geometric construct includes partitioning the geometric construct using a k-D tree, determining whether the partition includes more than a threshold number of points, upon determining the partition includes more than the threshold number of points: store the number of points in the first buffer, and further partition the partition including more than the threshold number of points, and upon determining the partition includes less than the threshold number of points: determine whether the partition includes at least one point, upon determining the partition includes at least one point: store a value representing a position of a point in the second buffer. the partitioning of the geometric construct includes partitioning the geometric construct using a k-D tree, determining whether the partition includes more than a threshold number of points, upon determining the partition includes more than the threshold number of points: store the number of points in the first buffer, and further partition the partition including more than the threshold number of points, and store the number of points in the first buffer, and further partition the partition including more than the threshold number of points, and upon determining the partition includes less than the threshold number of points: determine whether the partition includes at least one point, upon determining the partition includes at least one point: store a value representing a position of a point in the second buffer. determine whether the partition includes at least one point, upon determining the partition includes at least one point: store a value representing a position of a point in the second buffer.