Proof of concepts (Expect ugly code :D )