initial changes, need to add comments