tested all methods