adopted but raises exceptions