refactored and extended some instances