added colours (unfinished), added charging