solving #3, #4 and #5