support options with Hash