Refactored and reflected to all classes