First commit, includes connect and charge functionality