Moved in stuff from rust-snake