better aligned derive/mod apis