Removed loads of duplicate code in the form of getInstance methods