implement battery methods