adapted adrian to model separation