Close #37
Working on #20
Close #20