Tighten requirements, removed namespace::autoclean