improved assignment creation