Cleanup validation, let names be None (autogenerate), fix placements, more tests.