When selecting linux to boot it takes a long time to show the login manager, before an update it was fine but now it takes way to long!

I have type two commands into my system

[USER.PC ~]$ systemd-analyze
Startup finished in 28.088s (firmware) + 10.777s (loader) + 2.338s (kernel) + 3.385s (userspace) = 44.589s
graphical.target reached after 1.747s in userspace
[USER.PC ~]$ systemd-analyze blame
59.319s upower.service
2.150s NetworkManager-wait-online.service
978ms systemd-random-seed.service
681ms lvm2-monitor.service
657ms snapd.service
501ms dev-sdb2.device
361ms systemd-logind.service
352ms apparmor.service
347ms systemd-udevd.service
320ms systemd-modules-load.service
304ms systemd-journald.service
303ms tlp.service
206ms systemd-journal-flush.service
162ms user@1000.service
149ms polkit.service
138ms udisks2.service
117ms NetworkManager.service
112ms avahi-daemon.service
89ms boot-efi.mount
72ms systemd-udev-trigger.service
54ms pamac-daemon.service
48ms ModemManager.service
30ms systemd-tmpfiles-setup-dev.service
30ms systemd-fsck@dev-disk-by\x2duuid-55DB\x2d18AE.service
28ms org.cups.cupsd.service

as you can see its taking pretty much a minute compared to my usual 20 or less seconds of boot time why is this happening?
It seems upower.service is taking a minute which makes no sense what could be causing this and how do I fix this?

Okay I think I figured it out, it seems upower talks with usb devices (not 100% sure) and removing my usb hub did the trick and fixed my long boot, it also fixed my motherboard taking its time to boot, note to self and future people dont buy a cheap usb hub from china it can cause issues like this!