add animation delegate; add view preloading