merge lastest changes into main branch
marK is a bit behind the current development branchs, this merge request intends to syncronize with the lastest working modifications to simplify futures PRs and solve this scenario where the main project branch is not close to the current (and to be) changes
Edited by jean lima andrade