need battery and small constructor be fixed