Added classes for base implementation