Core file (and files calling it) has been edited to respect POO rules