why not do all these checks and raise exception in :configure method?