nearly all working I hope