Major Rewrite, additional stuff