tests and coverage; closes #1