REALLY HAVE TO CHANGE ALL THE BUSSINESS LOGIC