initial changes from fork