refactoring model creation
refactoring the way gritano destroys models
magical execute_and_use_if method