Add Preconditions for Assert and improve comments