the doc link is in the project but i suggest reading at your own discretion because i think for some of the things i wrote i kinda went too far