A bunch of solutions :)