Added license and modularized framework