better options handling