Added tower package and abstract class