partly moved over to require_a testing