added null mm check etc