Solved #1 and #2