huge commit, yes, i am ashamed :( BUT, working firefly \o/ yayyy