Added most classes needed. Logic missing.