shitty animation code to clean up later