some minor progress; does not compile atm;