some test work should be done first