make all functions work; and test on ipadpeek;