refactor and increase performances