added solution 5, edited 4