provision refactoring (continue..)