Gotta love non-self-executing functions.

+error handling +animation +works