working? maybe, but uuuuuuugly
finally working well