Completed #18 and #19