applied changes from the main branch