define as lib crate so rustc doesn't freak out ...