added read_order functionality