atom controller is abstract class