switched from mutate to constructor options