Working, needs cleanup. Liscence check.