basic sf handling in place. undo these changes before you go, jesus it's ugly code
this may be the worst code i've ever written
may the basedgod have mercy on my code
i have ruined the internet