Solution for matasano challenges