updates this is a mess tbh