Tested all functions