added switch and creation arguments