- renamed abstract classes by adding prefix Base