fix pointer advancement