creating entry point
also allow no config