almost fixed the option thing, still need to address setTimout