need to improve on animation, but works atm