linear animation implimented