test from scratch