a lot of functional changes still remaining