replace ? only in the correct context

resolves #13, checks that all the parameters are provided