few extra changes; all seems good now with few assumptions made