Refractoring time :P