added empty sample application
rewrote build files to support a module mechanisn, DRY