modified according to test