added better options support