better exception
require flux service