added crate throwing + misc changes