Representing cohomology classes by embeddings, revisited I