some pretty advanced topic but saved link for further reading!