Working. Needs cleanup, license check.