Changed few classes to improve reusability.