added crate interface to crate