pretty much completely working now:)