re-arrange, more tests