adding level abstract class and modifying old levels