further simplification; more tests