improve configuration flexibility