Added own example heavily commented