add get_services option
add idempotent option