almost finished configuring options. Needs extensive testing