merged with comments, fixed mutations