could've been better tbh, too many slowdowns, needs improvement
mod note: timing adjusted due to timebug.