latest changes. still not done.