nested and cleaned up models