Composer migration (Closes #19, Closes #20)