further changes, I think it's complete