more widget stuff, haven't coded in a while :(