closes #2 with coverage