better tests and coverage