begin basic work, none of this is tested yet