Add most important functionality, still have to do up/down and maybe location-based stuff