add unit tests
manage merge conflicts