api changes...hopefully to be more intuitive and less clunky