base activity and abstract method